package com.common;

import java.awt.Component;

import javax.swing.JOptionPane;

// 输入窗口
public class InputBox {
    /**
     * 获取整数值。
     * @param displayValue  编辑框上显示的默认值
     * @param maxValue      允许输入的最大值
     * @param minValue      允许输入的最小值
     * @param parent        父窗口
     * @param tipText       提示文字
     * @return 用户输入的值
     */
    public static int getIntValue(int displayValue, int maxValue, int minValue, Component parent, String tipText) {
        int intValue;
        while (true) {
            String input = JOptionPane.showInputDialog(parent, tipText, displayValue);
            if (input == null || input.isEmpty()) {
                intValue = displayValue;
                break;
            }
            try {
                intValue = Integer.parseInt(input);
                if (intValue >= minValue && intValue <= maxValue || intValue == displayValue) {
                    break;
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            JOptionPane.showMessageDialog(parent, "输入的数值超出允许范围，请重新输入。", " ", JOptionPane.INFORMATION_MESSAGE);
        }

        return intValue;
    }
    
    /**
     * 获取字符串值。
     * @param displayValue  编辑框上显示的默认值
     * @param parent        父窗口
     * @param tipText       提示文字
     * @return 用户输入的字符串
     */
    public static String getStringValue(String displayValue, Component parent, String tipText) {
        return JOptionPane.showInputDialog(parent, tipText, displayValue);
    }
}
